package com.dhj.yygh.client;

import com.dhj.yygh.common.result.MyResult;
import com.dhj.yygh.model.hosp.Schedule;
import com.dhj.yygh.vo.hosp.ScheduleOrderVo;
import com.dhj.yygh.vo.order.SignInfoVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

@FeignClient("service-hospital")
@Service
public interface HospitalClient {

    /**
     * 根据排班 id 获取预约下单排班数据
     *
     * @param scheduleId 排班 id
     * @return 返回
     */
    @GetMapping("/api/hospital/getScheduleInfo/{scheduleId}")
    ScheduleOrderVo getScheduleOrderVo(@PathVariable("scheduleId") String scheduleId);


    /**
     * 根据医院代码获取医院签名相关信息
     *
     * @param hoscode 医院代码
     * @return 返回签名相关信息的 vo 对象
     */
    @GetMapping("/api/hospital/getSignInfoVo/{hoscode}")
    SignInfoVo getSignInfoVo(
            @PathVariable("hoscode") String hoscode);

    /**
     * 根据 排班 id 获取排班数据
     *
     * @param id 排班 id
     * @return 返回排班对象
     */
    @GetMapping("/api/hospital/getScheduleById/{id}")
    MyResult<Schedule> getScheduleById(
            @PathVariable("id") String id);
}